const { verifyToken } = require("../utils/token");

//检测 token 的中间件
module.exports = async (req, res, next) => {
  //检测请求头中的 token
  let token = req.headers.token;
  //检测 token 不存在
  if (!token) {
    return res.json({
      msg: "token 缺失",
      code: "1006",
      data: null,
    });
  } else {
    try {
      //检测 token 是否合法
      await verifyToken(token);
      // token 校验是通过的
      next();
    } catch (e) {
      return res.json({
        msg: "token 校验失败",
        code: "1007",
        data: null,
      });
    }
  }
} 